# 1. 创建一个字典
# 使用花括号 {} 和冒号 : 来分隔键和值
student = {
    "name": "Alice",
    "age": 20,
    "major": "Computer Science",
    "grades": [90, 85, 95],
    "is_enrolled": True
}

print("创建的字典:", student)

# 2. 访问值（通过键）
print("学生姓名:", student["name"])      # 输出: 学生姓名: Alice
print("学生年龄:", student.get("age"))   # 输出: 学生年龄: 20（使用 get() 方法更安全，如果键不存在返回 None）

# 如果访问不存在的键，会报错
# print(student["address"]) # 这行代码会引发 KeyError

# 使用 get() 可以避免 KeyError，并提供一个默认值
print("学生地址:", student.get("address", "Not provided")) # 输出: 学生地址: Not provided

# 3. 修改和添加元素
student["age"] = 21                # 修改已有键的值
student["address"] = "123 Main St" # 添加新的键值对
print("修改后的字典:", student)

# 4. 删除元素
del student["is_enrolled"] # 使用 del 语句
print("删除 'is_enrolled' 键后:", student)

age = student.pop("age")   # 使用 pop() 方法，会返回被删除的值
print("弹出的年龄是:", age)
print("弹出 'age' 键后:", student)

# 5. 遍历字典
print("\n--- 遍历字典的键 ---")
for key in student:
    print(key)

print("\n--- 遍历字典的值 ---")
for value in student.values():
    print(value)

print("\n--- 遍历字典的键值对 ---")
for key, value in student.items():
    print(f"{key}: {value}")